"""
fastapi_app 模块
"""
# 最顶部：先禁用PostHog，再导入其他模块
import os
import posthog  # 主动导入PostHog模块
# 双重保险：环境变量+直接禁用客户端
os.environ["POSTHOG_DISABLED"] = "True"
posthog.disabled = True  # 强制禁用PostHog客户端
import sys
from pathlib import Path
# 获取项目根目录（E:\zbs_agent）
project_root = Path(__file__).parent.parent.parent
# 将根目录添加到 Python 路径
if str(project_root) not in sys.path:
    sys.path.append(str(project_root))
from fastapi import FastAPI
# 导入路由（根据你的实际代码调整）
from src.api.endpoints import document, qa
from src.api.endpoints.management.documents import router as management_router

# 关键：必须定义名为 `app` 的 FastAPI 实例
app = FastAPI(
    title="zbs_agent API",
    description="知识库管理与问答API"
)

# 注册路由（你的现有逻辑）
app.include_router(document.router, prefix="/documents", tags=["文档处理"])
app.include_router(qa.router, prefix="/qa", tags=["问答功能"])
app.include_router(management_router)
# 在 fastapi_app.py 末尾添加（注册路由后）
from src.utils.logger import setup_logger
import os

# 初始化日志系统
log_dir = os.path.join(os.path.dirname(project_root), 'logs')
logger = setup_logger(log_dir=log_dir, debug=True)

# 打印所有注册的路由路径
logger.info("已注册的路由：")
for route in app.routes:
    if hasattr(route, "path"):
        logger.info(f"路径: {route.path}")
# 健康检查接口（可选）
@app.get("/health")
def health_check():
    return {"status": "healthy"}
